package bb.lanxing.lib.devices.sprint.model;

import bb.lanxing.lib.devices.sprint.entity.SprintMaps;
import java.util.List;

public interface SprintMapModel {


    public interface Callback {
        void onMapStatus(long j, int i);

        void onProgressUpdate(long j, float f);
    }

    void deleteById(long j);

    boolean downloadMapById(long j);

    String getPath(long j);

    SprintMaps getSprintMapByEnglishName(String str);

    SprintMaps getSprintMapById(long j);

    SprintMaps getSprintMapByName(String str);

    List<SprintMaps> getSprintMaps();

    boolean isDownloaded(long j);

    boolean isDownloading(long j);

    boolean isSynced(long j);

    List<SprintMaps> loadSprintMaps();

    void release();

    void setCallback(Callback callback);

    boolean syncWithDevice(SprintMaps sprintMaps);
}
